package com.xhs.service;

import com.alibaba.fastjson2.JSONObject;
import com.dtflys.forest.annotation.*;
import com.xhs.dto.request.SendHttpParam;

/**
 * @desc: 构建请求外部接口
 * @projectName: http-forest-api
 * @author: xhs
 * @date: 2024-06-10 12:28
 * @version: JDK 1.8
 */

public interface ForestHttp {

    /**
     * 发送Get请求 无参
     *
     * @param getUserUrl 请求地址
     * @return JSONObject
     */
    @Get("{getUserUrl}")
    JSONObject sendGet(@Var("getUserUrl") String getUserUrl);


    /**
     * 发送Get请求 有参
     *
     * @param senGetParamUrl 请求地址
     * @param param          请求参数
     * @return JSONObject
     */
    @Get("{senGetParamUrl}")
    JSONObject sendGetParam(@Var("senGetParamUrl") String senGetParamUrl, @Query SendHttpParam param);

    /**
     * 发送Post请求 无参
     *
     * @param getUserUrl 请求地址
     * @return JSONObject
     */
    @Post("{sendPostUrl}")
    JSONObject sendPost(@Var("sendPostUrl") String getUserUrl);


    /**
     * 发送Get请求 有参
     *
     * @param senGetParamUrl 请求地址
     * @param param          请求参数
     * @return JSONObject
     */
    @Post("{sendPostJsonParamUrl}")
    JSONObject sendPostJsonParam(@Var("sendPostJsonParamUrl") String senGetParamUrl, @JSONBody SendHttpParam param);

}
